package com.cw.mapper2;

import com.cw.entity.BaseDict;
import com.cw.entity.ThisIiPrepayin;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 客户数据库 字段表获取Mapper
 * 这里只针对客户提供的表或视图查询 然后在我们的代码里是没有客户提提供的这些表的对象存在
 * 所以就统一写在这里把
 * @author: ly
 * @date: 2021/05/13 17:58
 **/

@Repository
public interface BaseDict2Mapper {
    /**
     * 获取联系人关系
     * @author ly
     * @date 2021/5/13 17:59
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getRelative();

    /**
     * 入院情况
     * @author ly
     * @date 2021/5/13 19:17
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getInsource();

    /**
     * 搜索医师列表-手工录入
     * @param name 名称
     * @param deptCode 科室编码
     * @author ly
     * @date 2021/5/14 15:18
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getDoctList(String name,String deptCode);

    /**
     * 通过编码获取医生详情
     * @param doctCode 医生编码
     * @author ly
     * @date 2021/5/28 10:17
     * @return com.cw.entity.BaseDict
     */
    BaseDict getDoctByDoctCode(String doctCode);

    /**
     * 结算类型
     * @author ly
     * @date 2021/5/14 16:44
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getPaykinds();

    /**
     * 诊断
     * @param name 查询条件
     * @author ly
     * @date 2021/5/14 16:52
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getDisgnosis(String name);

    /**
     * 调用附二院存储过程获取病历号
     * @param resultMap 录入信息对象
     * @author ly
     * @date 2021/5/17 9:44
     * @return java.util.Map<String,String>
     */
    Map<String,String> getCardNo(Map<String, Object> resultMap);


    /**
     * 获取病例号通过Register表 和↑上面的接口获取的方式不一样
     * @param clinicCode 什么什么编码我也忘了,反正就是医生输入的就对了
     * @author ly
     * @date 2021/5/18 15:33
     * @return com.cw.entity.ThisIiPrepayin
     */
    ThisIiPrepayin getCardNoByRegisterTable(String clinicCode);


    /**
     * 获取手工录入的信息通过病历号
     * @param cardNo 病历号
     * @author ly
     * @date 2021/5/18 15:40
     * @return com.cw.entity.ThisIiPrepayin
     */
    ThisIiPrepayin getThisIiPrepayinByCardNo(String cardNo);

    /**
     * 通过病区编码获取当前病区下的床位
     * @param nurseCellCode 病区编码
     * @author ly
     * @date 2021/5/21 9:47
     * @return java.util.List<com.cw.entity.BaseDict>
     */
    List<BaseDict> getBedByNurseCellCode(String nurseCellCode);
}
